#define _CRT_SECURE_NO_WARNINGS
//#include <stdio.h>
//int my_strlen(char arr[])
//{
//	if (*arr != '\0')
//	{
//		return 1 + my_strlen(arr + 1);
//	}
//	return 0;
//}
//int main()
//{
//	char arr[] = "abc";
//	int ret = my_strlen(arr);
//	printf("%d", ret);
//	return 0;
//}
//#include <stdio.h>
//void reverse_string(char* arr)
//{
//	if (*arr != '\0')
//	{
//		reverse_string(arr + 1);
//		printf("%c", *arr);
//	}
//}
//int main()
//{
//	char arr[] = "abcdef";
//	reverse_string(arr);
//	return 0;
//}
//#include <stdio.h>
//int DigitSum(int x)
//{
//	if (x > 0)
//	{
//		return x % 10+ DigitSum(x / 10);
//	}
//	return 0;
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = DigitSum(n);
//	printf("%d", ret);
//	return 0;
//}
#include <stdio.h>
int n_k(int n,int k)
{
	if (k > 0)
	{
		return n * n_k(n, k - 1);
	}
	return 1;
}
int main()
{
	int n = 0, k = 0;
	scanf("%d %d", &n,&k);
	int ret = n_k(n, k);
	printf("%d", ret);
	return 0;
}